﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Business.Entities;
using Business.Logic;

namespace UI.Web
{
    public partial class Formulario_web1 : System.Web.UI.Page
    {
        private Persona _PersonaActual;
        private Usuario _UsuarioActual;

        public Persona PersonaActual
        {
            get { return _PersonaActual; }
            set { _PersonaActual = value; }
        }

        public Usuario UsuarioActual
        {
            get{return _UsuarioActual;}
            set{_UsuarioActual=value;}
        }

        protected void Page_Load(object sender, EventArgs e)
        {
              UsuarioActual=(Usuario)Session["UsuarioActual"];

            this.Master.cargaUsu(UsuarioActual.NombreUsuario);  //VER COMO LLAMAR AL METODO CARGA USU DE LA MASTER

            if (UsuarioActual.Habilitado == true)
            {
                BuscarUsuarioPersona();
                Session["PersonaActual"] = PersonaActual;
                switch(PersonaActual.TipoPersona)
                {
                    case Persona.TiposPersonas.Administrador: 
                        lBienvenida.Text += " Aministrador " +
                            PersonaActual.Nombre + " " + PersonaActual.Apellido;
                        lLUno.Text = "Abmc Cursos";
                        lLDos.Text = "Abmc Planes";
                        lLTres.Text = "Abmc Alumnos, Docentes o Administrativos";
                        lLCuatro.Text = "Abmc Materias";
                        lLCinco.Text = "Abmc Comisiones";
                        lLSeis.Text = "Abmc Especialidades";
                                    break;
                    case Persona.TiposPersonas.Alumno:
                        lBienvenida.Text = " Alumno " + PersonaActual.Nombre + " " +
                            PersonaActual.Apellido;
                        lLUno.Text = "Inscripción";
                        lLDos.Text = "Consulta de estado académico";
                        lLTres.Text = "Modificación y consulta de sus datos personales";
                        lLCuatro.Visible=false;
                        lLCinco.Visible = false;
                        lLSeis.Visible = false;
                        
                        break;
                    case Persona.TiposPersonas.Profesor:
                        lBienvenida.Text = " Profesor " + PersonaActual.Nombre + " " +
                            PersonaActual.Apellido;
                        lLUno.Text = "Consultar sus cursos";
                        lLDos.Text = "Consultar alumnos inscriptos";
                        lLTres.Text = "Modificación y consulta de sus datos personales";
                        lLCuatro.Text = "Registrar condiciones de alumnos inscriptos";
                        lLCinco.Visible = false;
                        lLSeis.Visible = false;
                        break;
                        
                }
                lLUno.Focus();

            }
            else
            {
                Page.Response.Write("No esta habilitado para utilizar el Sistema de Gestión Académico");
                BuscarUsuarioPersona();
                switch (PersonaActual.TipoPersona)
                {
                    case Persona.TiposPersonas.Administrador:
                        lBienvenida.Text += " Aministrador " +
                            PersonaActual.Nombre + " " + PersonaActual.Apellido;
                        lLUno.Text = "Abmc Cursos"; lLUno.Enabled = false;
                        lLDos.Text = "Abmc Planes"; lLDos.Enabled = false;
                        lLTres.Text = "Abmc Alumnos, Docentes o Administrativos"; lLTres.Enabled = false;
                        lLCuatro.Text = "Abmc Materias"; lLCuatro.Enabled = false;
                        lLCinco.Text = "Abmc Comisiones"; lLCinco.Enabled = false;
                        lLSeis.Text = "Abmc Especialidades"; lLSiete.Enabled = false;
                               break;
                    case Persona.TiposPersonas.Alumno:
                        lBienvenida.Text = " Alumno " + PersonaActual.Nombre + " " +
                            PersonaActual.Apellido;
                        lLUno.Text = "Inscripción"; lLUno.Enabled = false;
                        lLDos.Text = "Consulta de estado académico"; lLDos.Enabled = false;
                        lLTres.Text = "Modificación y consulta de sus datos personales"; lLTres.Enabled = false;
                        lLCuatro.Visible = false;
                        lLCinco.Visible = false;
                        lLSeis.Visible = false;
                        //lLsiete.Enabled = false;
                       
                        break;
                    case Persona.TiposPersonas.Profesor:
                        lBienvenida.Text = " Profesor " + PersonaActual.Nombre + " " +
                            PersonaActual.Apellido;
                        lLUno.Text = "Consultar sus cursos e inscriptos"; lLUno.Enabled = false;
                        lLDos.Text = "Registrar condiciones de alumnos inscriptos"; lLDos.Enabled = false;
                        lLTres.Text = "Modificación y consulta de sus datos personales"; lLTres.Enabled = false;
                        lLCuatro.Visible=false;
                        lLCinco.Visible = false;
                        lLSeis.Visible = false;
                        //lLsiete.Enabled = false;
                        
                        break;

                }
            }
       }

        private void BuscarUsuarioPersona()
        {
            try
            {
                UsuarioLogic UsrLogic = new UsuarioLogic();
                PersonaActual = UsrLogic.GetOnePersona(UsuarioActual.ID);
            }
            catch (Exception ex)
            {
                Page.Response.Write(ex.Message);
            }
        }

        

        #region Eventos_Acceso

        protected void lLUno_Click(object sender, EventArgs e)
        {
            switch (PersonaActual.TipoPersona)
            {
                case Persona.TiposPersonas.Alumno:
                    Page.Response.Redirect("~/Inscripcion.aspx");
                    break;
                case Persona.TiposPersonas.Administrador:
                    Page.Response.Redirect("~/CursosD.aspx");
                    break;
                case Persona.TiposPersonas.Profesor:
                    Page.Response.Write("~/InscripcionesProfesor.aspx");
                    break;
            }
        }

        protected void lLDos_Click(object sender, EventArgs e)
        {
            switch (PersonaActual.TipoPersona)
            {
                case Persona.TiposPersonas.Alumno:
                    //Page.Response.Redirect("~/.aspx");
                    break;
                case Persona.TiposPersonas.Administrador:
                    Page.Response.Redirect("~/PlanesD.aspx");
                    break;
                case Persona.TiposPersonas.Profesor:
                    //Page.Response.Write("~/InscripcionesProfesor.aspx");
                    break;
            }
        }

        #endregion

        protected void lLTres_Click(object sender, EventArgs e)
        {
            switch (PersonaActual.TipoPersona)
            {
                case Persona.TiposPersonas.Alumno:
                    //Page.Response.Redirect("~/.aspx"); //"Modificación y consulta de sus datos personales"
                    break;
                case Persona.TiposPersonas.Administrador:
                   // Page.Response.Redirect("~/.aspx");  //"Abmc Alumnos, Docentes o Administrativos";
                    break;
                case Persona.TiposPersonas.Profesor:
                    //Page.Response.Write("~/.aspx"); "Modificación y consulta de sus datos personales"
                    break;
            }
            
        }

        protected void lLCuatro_Click(object sender, EventArgs e)
        {
              // Page.Response.Redirect("~/.aspx"); --->"Abmc Materias";
                //no hace falta el switch porque esta opcion solo puede entrar el Administrador
            }

        protected void lLCinco_Click(object sender, EventArgs e)
        {
             // Page.Response.Redirect("~/.aspx"); ----> "Abmc Comisiones"; 
                       //no hace falta el switch porque esta opcion solo puede entrar el Administrador
        }

        protected void lLSeis_Click(object sender, EventArgs e)
        {
            // Page.Response.Redirect("~/.aspx"); ---> "Abmc Especialidades"
            //no hace falta el switch porque esta opcion solo puede entrar el Administrador
          }

        }

        
    }

